Telegram Group & Telegram Channel
مفهوم Agent چیست و چگونه کار می‌کنند؟

خانم چیپ هوین بلاگ پست مفصلی راجع به Agent (به قول راسل، هدف غایی هوش مصنوعی) نوشتند. به شدت توصیه می‌کنیم به دور از هایپ بخونید.
این پست ۴ بخش داره: تعاریف، ابزارها، برنامه‌ریزی، ارزیابی و نقاط شکست!

تعاریف. agent هر چیزیه که از محیطش اطلاعات دریافت کنه و روی محیط عملی انجام بده. پس دو مشخصه داره: محیطش و عملگرهاش. محیطش با هدفی که داره تعریف میشه و عملگرهاش با ابزارهایی که در اختیارش قرار دادیم. مثلا یک ایجنت نرم افزاری محیطش میشه ترمینال و فایل سیستم و اکشن‌هاش میشه سرچ کردن و خوندن  و نوشتن در فایلها (عکس ۱). agentها ‌نیاز به مدل قوی‌تری دارند، چون کارهای مهم‌تری می‌کنند و ریسک بالاتری دارند و چون مراحل زیادی طی می‌کنند، خطاها در هم ضرب میشن و مثلا یک مدل با دقت ۹۵٪ در انجام کاری، بعد از ده مرحله، با ۶۰٪ دقت کار نهایی را تحویل میده.

ابزارها. ابزار بیرونی کمک میکنه ورودی بهتر جمع بشه و اکشن‌های بهتری داشته باشیم. اما نباید همه ابزارها را همینجوری در اختیارش بگذاریم چون بعدش فهمیدن و استفاده مفید ازشون سخت میشه. ابزارها سه گروه میشن: knowledge augmentation، capability extension و write actions. دسته‌ی اول ابزارهای تولید محتوا هستند که کمک میکنند بروز باشیم و کمتر هذیون بگیم مثلا سرچ در اینترنت یا API دیتای محصولات فروشگاه. دسته دوم ابزارهای بهبود یهویی توانایی مدل هستند. مثلا مدل‌های زبانی در انجام عملگرهای ساده ریاضی مثل تقسیم هم گاهی گند می‌زنند. پس بهش یه ماشین حساب بدیم یا مثلا از یک مدل تولید عکس جدا استفاده کنیم. دسته سوم. ابزارهایی که تغییر ایجاد میکنند. مثلا ایمیل زدن، انتقال پول.

برنامه‌ریزی. مغز یک agent همون مدلیه که تسک پیچیده را برنامه‌ریزی میکنه. خروجی برنامه یک سری مراحله که باید به ترتیب طی بشه. برنامه‌ریزی باید از اجرا جدا باشه. یعنی از مدل اول میخواهی (مثلا با CoT) برنامه (یا برنامه‌ها) را ارائه بده و بعد از تایید شروع به اجرا کنه. تا اینجا سیستم ما سه قسمت داشت: تولید برنامه، ارزیابش، اجراش (عکس ۲). حالا اگر بیای برای هر کدوم یک agent بذاری، میشه mutli-agent مثلا قبل از هر چیز یه agent تشخیص هدف مشتری (intent) بذاری. راحتترین راه برای تولید برنامه هم پرامپته. مثلا برای آموزش مشتری‌ها راجع به محصولات، به مدل توابع لازم و چند تا مثال از سوالات کاربران و جواب درست را میدیم (عکس ۳‍).
سه تا نکته مهم در تولید برنامه هست: نحوه تعریف و صدا زدن ابزارها، ریزدانگی برنامه، برنامه‌های پیچیده. اولی (نحوه معرفی)، یه سری چارچوب داره که به مدل بفهمونیم لازمه از این ابزارها استفاده کنه یا خودش هر طور صلاح میدونه (عکس ۴). در ریزدانگی باید دقت کنیم که نباید زیاد جزئی (تا اسم تابع) از مدل تولیدکننده بخواهی. چون دوباره تعریف کردن یا فاین تیون کردنشون سخته. خوبه بهشون بگی به زبون طبیعی مراحل را تولید کن. بعد یه مدل ساده‌تر این جملات زبان طبیعی را به اسم توابع تبدیل کنه. برای سومی هم؛ همیشه برنامه‌ها به صورت پشت سر هم نیستند. میتونه موازی یا شرطی باشه یا حلقه داشته باشه (عکس ۵).
در ادامه راجع Reflection صحبت میکنه. agent باید مداوم خودش، خودشو بررسی کنه که از برنامه تا نتیجه همه چی درسته؟ این ارزیابی و اصلاح، میتونه توسط خود agent انجام بشه یا بیرونش. چارچوب‌هایی مثل ReAct هست که یک حلقه متشکل از برنامه، اکشن و ارزیابیه تا وقتی که به جواب برسه (عکس ۶). اگر ارزیاب مدل دیگه‌ای باشه به این Reflexion میگن.
برای نحوه انتخاب ابزارها از مقالاتی مثل Chameleon صحبت میکنه که از ۱۳ تا ابزار استفاده میکنه. هر چی تعداد ابزارها بیشتر باشه، مثل انسان برای مدل سخت‌تره ازشون استفاده کنه. راه‌هایی برای انتخاب مجموعه ابزارها هست؛ مثلا با کدوم ابزارها خطای مدل بیشتره، حذف ابزار چقدر کارایی را کاهش میده، از کدوم‌ها بیشتر استفاده میکنه. مقاله Chameleon نشون داد که تسک‌ها و مدل‌های مختلف ابزارهای مختلفی لازم دارند و نباید همینجوری همه ابزارها رو به مدل بدیم (عکس ۷).

ارزیابی و نقاط شکست. شکست سه عامل داره: برنامه، اجرای ابزارها و بهینگی. در گروه اول برنامه میتونه ابزار اشتباه یا پارامترها و ورودی‌های اشتباه انتخاب کنه، محدودیت را در نظر نگیره و.... در گروه دوم از ابزار درستی استفاده شده اما خود ابزار (مثلا تبدیل متن به کوئری) غلط کار میکنه. در گروه سوم هم همه چیز درسته اما بهینه نیست. مثلا قدم‌های زیادی طی میشه. برای ارزیابی میزان شکست یک agent میشه یه دیتاست از تسک‌ها و ابزارها درست بشه و ازش بخواهیم N تا برنامه درست کنه. بعد ببینیم چندتاشون درست بود، چند تا برنامه باید درست کنه تا به یه برنامه خوب برسیم، چقدر کنده و ....

لینک پست:
https://huyenchip.com/2025/01/07/agents.html

#read
#blog

@nlp_stuff



tg-me.com/nlp_stuff/366
Create:
Last Update:

مفهوم Agent چیست و چگونه کار می‌کنند؟

خانم چیپ هوین بلاگ پست مفصلی راجع به Agent (به قول راسل، هدف غایی هوش مصنوعی) نوشتند. به شدت توصیه می‌کنیم به دور از هایپ بخونید.
این پست ۴ بخش داره: تعاریف، ابزارها، برنامه‌ریزی، ارزیابی و نقاط شکست!

تعاریف. agent هر چیزیه که از محیطش اطلاعات دریافت کنه و روی محیط عملی انجام بده. پس دو مشخصه داره: محیطش و عملگرهاش. محیطش با هدفی که داره تعریف میشه و عملگرهاش با ابزارهایی که در اختیارش قرار دادیم. مثلا یک ایجنت نرم افزاری محیطش میشه ترمینال و فایل سیستم و اکشن‌هاش میشه سرچ کردن و خوندن  و نوشتن در فایلها (عکس ۱). agentها ‌نیاز به مدل قوی‌تری دارند، چون کارهای مهم‌تری می‌کنند و ریسک بالاتری دارند و چون مراحل زیادی طی می‌کنند، خطاها در هم ضرب میشن و مثلا یک مدل با دقت ۹۵٪ در انجام کاری، بعد از ده مرحله، با ۶۰٪ دقت کار نهایی را تحویل میده.

ابزارها. ابزار بیرونی کمک میکنه ورودی بهتر جمع بشه و اکشن‌های بهتری داشته باشیم. اما نباید همه ابزارها را همینجوری در اختیارش بگذاریم چون بعدش فهمیدن و استفاده مفید ازشون سخت میشه. ابزارها سه گروه میشن: knowledge augmentation، capability extension و write actions. دسته‌ی اول ابزارهای تولید محتوا هستند که کمک میکنند بروز باشیم و کمتر هذیون بگیم مثلا سرچ در اینترنت یا API دیتای محصولات فروشگاه. دسته دوم ابزارهای بهبود یهویی توانایی مدل هستند. مثلا مدل‌های زبانی در انجام عملگرهای ساده ریاضی مثل تقسیم هم گاهی گند می‌زنند. پس بهش یه ماشین حساب بدیم یا مثلا از یک مدل تولید عکس جدا استفاده کنیم. دسته سوم. ابزارهایی که تغییر ایجاد میکنند. مثلا ایمیل زدن، انتقال پول.

برنامه‌ریزی. مغز یک agent همون مدلیه که تسک پیچیده را برنامه‌ریزی میکنه. خروجی برنامه یک سری مراحله که باید به ترتیب طی بشه. برنامه‌ریزی باید از اجرا جدا باشه. یعنی از مدل اول میخواهی (مثلا با CoT) برنامه (یا برنامه‌ها) را ارائه بده و بعد از تایید شروع به اجرا کنه. تا اینجا سیستم ما سه قسمت داشت: تولید برنامه، ارزیابش، اجراش (عکس ۲). حالا اگر بیای برای هر کدوم یک agent بذاری، میشه mutli-agent مثلا قبل از هر چیز یه agent تشخیص هدف مشتری (intent) بذاری. راحتترین راه برای تولید برنامه هم پرامپته. مثلا برای آموزش مشتری‌ها راجع به محصولات، به مدل توابع لازم و چند تا مثال از سوالات کاربران و جواب درست را میدیم (عکس ۳‍).
سه تا نکته مهم در تولید برنامه هست: نحوه تعریف و صدا زدن ابزارها، ریزدانگی برنامه، برنامه‌های پیچیده. اولی (نحوه معرفی)، یه سری چارچوب داره که به مدل بفهمونیم لازمه از این ابزارها استفاده کنه یا خودش هر طور صلاح میدونه (عکس ۴). در ریزدانگی باید دقت کنیم که نباید زیاد جزئی (تا اسم تابع) از مدل تولیدکننده بخواهی. چون دوباره تعریف کردن یا فاین تیون کردنشون سخته. خوبه بهشون بگی به زبون طبیعی مراحل را تولید کن. بعد یه مدل ساده‌تر این جملات زبان طبیعی را به اسم توابع تبدیل کنه. برای سومی هم؛ همیشه برنامه‌ها به صورت پشت سر هم نیستند. میتونه موازی یا شرطی باشه یا حلقه داشته باشه (عکس ۵).
در ادامه راجع Reflection صحبت میکنه. agent باید مداوم خودش، خودشو بررسی کنه که از برنامه تا نتیجه همه چی درسته؟ این ارزیابی و اصلاح، میتونه توسط خود agent انجام بشه یا بیرونش. چارچوب‌هایی مثل ReAct هست که یک حلقه متشکل از برنامه، اکشن و ارزیابیه تا وقتی که به جواب برسه (عکس ۶). اگر ارزیاب مدل دیگه‌ای باشه به این Reflexion میگن.
برای نحوه انتخاب ابزارها از مقالاتی مثل Chameleon صحبت میکنه که از ۱۳ تا ابزار استفاده میکنه. هر چی تعداد ابزارها بیشتر باشه، مثل انسان برای مدل سخت‌تره ازشون استفاده کنه. راه‌هایی برای انتخاب مجموعه ابزارها هست؛ مثلا با کدوم ابزارها خطای مدل بیشتره، حذف ابزار چقدر کارایی را کاهش میده، از کدوم‌ها بیشتر استفاده میکنه. مقاله Chameleon نشون داد که تسک‌ها و مدل‌های مختلف ابزارهای مختلفی لازم دارند و نباید همینجوری همه ابزارها رو به مدل بدیم (عکس ۷).

ارزیابی و نقاط شکست. شکست سه عامل داره: برنامه، اجرای ابزارها و بهینگی. در گروه اول برنامه میتونه ابزار اشتباه یا پارامترها و ورودی‌های اشتباه انتخاب کنه، محدودیت را در نظر نگیره و.... در گروه دوم از ابزار درستی استفاده شده اما خود ابزار (مثلا تبدیل متن به کوئری) غلط کار میکنه. در گروه سوم هم همه چیز درسته اما بهینه نیست. مثلا قدم‌های زیادی طی میشه. برای ارزیابی میزان شکست یک agent میشه یه دیتاست از تسک‌ها و ابزارها درست بشه و ازش بخواهیم N تا برنامه درست کنه. بعد ببینیم چندتاشون درست بود، چند تا برنامه باید درست کنه تا به یه برنامه خوب برسیم، چقدر کنده و ....

لینک پست:
https://huyenchip.com/2025/01/07/agents.html

#read
#blog

@nlp_stuff

BY NLP stuff




Share with your friend now:
tg-me.com/nlp_stuff/366

View MORE
Open in Telegram


NLP stuff Telegram | DID YOU KNOW?

Date: |

Export WhatsApp stickers to Telegram on iPhone

You can’t. What you can do, though, is use WhatsApp’s and Telegram’s web platforms to transfer stickers. It’s easy, but might take a while.Open WhatsApp in your browser, find a sticker you like in a chat, and right-click on it to save it as an image. The file won’t be a picture, though—it’s a webpage and will have a .webp extension. Don’t be scared, this is the way. Repeat this step to save as many stickers as you want.Then, open Telegram in your browser and go into your Saved messages chat. Just as you’d share a file with a friend, click the Share file button on the bottom left of the chat window (it looks like a dog-eared paper), and select the .webp files you downloaded. Click Open and you’ll see your stickers in your Saved messages chat. This is now your sticker depository. To use them, forward them as you would a message from one chat to the other: by clicking or long-pressing on the sticker, and then choosing Forward.

What is Telegram Possible Future Strategies?

Cryptoassets enthusiasts use this application for their trade activities, and they may make donations for this cause.If somehow Telegram do run out of money to sustain themselves they will probably introduce some features that will not hinder the rudimentary principle of Telegram but provide users with enhanced and enriched experience. This could be similar to features where characters can be customized in a game which directly do not affect the in-game strategies but add to the experience.

NLP stuff from it


Telegram NLP stuff
FROM USA